package com.example.downloadmvpdemo;


import android.view.View;

public interface MainContract {


    /**
     *  @MainView 用于MainActivity中
     * */
    interface MainView {

        void onTextViewShowProgress(int progress);        // TextView 显示下载的进度(范围：0% - 100%)
        void onImageViewShowDownloadStatus(int status);   // ImageView 显示下载状态图片(四种显示状态：初始化、下载中、下载停止、下载结束)
        void onProgressBarStep(int step);                 // ProgressBar 下载进度显示
        void onDownloadFinished();                          // 下载结束通知
    }

    /**
     * @DownloadUtil 用于DownloadUtilImpl中
     * */
    interface DownloadUtil {

        /**
         * @onDownloadListener 用于PersenterImpl中
         * */
        interface onDownloadListener {              // 下载监听
            void onDownloadStart();                 // 开始下载
            void onDownloadPause(int progress);     // 暂停下载
            void onDownloadFinish();                // 下载结束
            void onDownloadProgress(int progress);  // 下载结束
        }

        void startDownload(onDownloadListener downloadListener); // 开始下载
        void pauseDownload(onDownloadListener downloadListener); // 暂停下载
        void stopDownload(onDownloadListener downloadListener);  // 停止下载
    }

    /**
     * @Persenter 用于PersenterImpl中
     * */
    interface Persenter {
        void onButtonClick(View view); // 按键点击事件
    }
}
